Skip to content

fix: components.Pot producing wrong result on first value - #13463

Merged
m0dB merged 1 commit into
mixxxdj:2.4from
Swiftb0y:fix/gh11814-pitch-value-on-startup
Jul 13, 2024
Merged

fix: components.Pot producing wrong result on first value#13463
m0dB merged 1 commit into
mixxxdj:2.4from
Swiftb0y:fix/gh11814-pitch-value-on-startup

Conversation

@Swiftb0y

Copy link
Copy Markdown
Member

This fixes a regression introduced in #4495 and reported as #11814

This fixes a regression introduced in mixxxdj#4495
and reported as mixxxdj#11814
@Swiftb0y Swiftb0y added this to the 2.4.2 milestone Jul 11, 2024
Comment on lines 484 to 486
}
value = (value << 7) + (this._firstLSB ? this._firstLSB : 0);
this.input(channel, control, value, status, group);
this.input(channel, control, (value << 7) + (this._firstLSB ? this._firstLSB : 0), status, group);
}
this.MSB = value;

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A quick word on the fix:
This only occurred when receiving the first value because this branch is only executed when receiving the first value. this.MSB is only supposed to contain the value of the most significant byte, but the branch erroneously set it contain the entire value. That meant if the MSB was received first everything would work out for the first message, however, when the LSB was received afterwards it would take the bogus MSB value set here resulting in huge bogus values. Once the second MSB was received, everything would work out as usual again. The fix now ensures that this.MSB gets the actual MSB value instead of the "pre-scaled" one that we use in the branch.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Initial tempo after connecting Roland DJ-505 is set to very high BPM

2 participants